package practica.ejercicios01.services;

import java.util.List;

import practica.ejercicio01.helpers.CartaHelper;
import practica.ejercicios01.dominios.Carta;
import practica.ejercicios01.dominios.Jugador;
import practica.ejercicios01.dominios.Palo;
import practica.ejercicios01.repositorios.IJugadorRepository;
import practica.ejercicios01.repositorios.JugadorRepository;

import com.jolbox.bonecp.BoneCPConfig;
import com.jolbox.bonecp.BoneCPDataSource;


public class Sistema {

	public static void main(String[] args) {
		new Sistema().jugar();
	}
	
	private void jugar() {
		System.out.println("main ***************************");
		Jugador jugador1 = new Jugador("Facundo");
		Jugador jugador2 = new Jugador("Gabriel");
		Jugador jugador3 = new Jugador("Hugo");
		
		BoneCPDataSource  connectionPool = null;
		try {
			// Class.forName("org.hsqldb.jdbcDriver"); 
			Class.forName("com.mysql.jdbc.Driver");
			// jdbc:h2:mem:asdeoro
			// Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/asdeoro");
			BoneCPConfig config = new BoneCPConfig();
		 	config.setJdbcUrl("jdbc:mysql://localhost/asdeoro");	// set the JDBC url
			config.setUsername("root");			// set the username
			config.setPassword("");				// set the password
	
			connectionPool = new BoneCPDataSource(config); 
		} catch (Exception e) {
			throw new RuntimeException("No anda anda anda anda...!!!! :(", e);
		}
			
		IJugadorRepository jugadorRepo = new JugadorRepository(connectionPool);
		
		List<Carta> cartas; 
		List<Palo> palos; 
		Carta unoDeOro;

		palos = CartaHelper.crearPalos();
		cartas = CartaHelper.crearCartas(palos);
		unoDeOro = CartaHelper.unoDeOro;
		
		JuegoService juego = new JuegoService(jugadorRepo, cartas);
		juego.agregar(jugador1);
		juego.agregar(jugador2);
		juego.agregar(jugador3);
		juego.iniciarJuego();
		
		
	}

}
